package com.tarena.lbs.content.dao.repository;

import com.github.pagehelper.PageInfo;
import com.tarena.lbs.content.pojo.po.ArticleSearchPO;
import com.tarena.lbs.content.pojo.query.ArticleQuery;
import com.tarena.lbs.content.pojo.vo.ArticleVO;
import org.springframework.stereotype.Repository;

import java.util.Set;

@Repository
public interface ArticleRepository {

    PageInfo<ArticleVO> pageList(ArticleQuery articleQuery);
    
    /**
     * 推文创作页面文章列表查询
     * @param articleQuery 查询参数
     * @return 文章分页信息
     */
    PageInfo<ArticleVO> twitterPageList(ArticleQuery articleQuery);
    
    void save(ArticleSearchPO po);
    
    /**
     * 获取所有不重复的文章标签
     * @return 文章标签集合
     */
    Set<String> getAllArticleLabels();

    /**
     * 根据ID获取文章详情
     * @param id 文章ID
     * @return 文章详情
     */
    ArticleVO getArticleById(Integer id);
}